Docker 挂载卷

您所在的位置:网站首页 windows 挂载目录 Docker 挂载卷

Docker 挂载卷

2024-07-09 01:53:39| 来源: 网络整理| 查看: 265

原文:Docker Mount Volume – How To Mount a Local Directory,作者:Sebastian Sigl

容器使软件工程更容易、更高效,Docker容器很受欢迎,也很容易使用。

容器对于本地开发来说是必不可少的。它们让你在本地环境中测试你的应用程序,并开始建立所需的基础设施。

Docker容器本质上是不可变的。这意味着重新启动一个容器会删除你在容器中存储的所有数据。但是Docker提供了卷和绑定挂载,这是两种在Docker容器中持久保存数据的机制。

本教程将教你如何将本地目录绑定到你的Docker容器上,并交替使用Docker管理的卷。了解了这两点,你就能在更多的用例中使用Docker容器,从而提高你的工作效率。

使用 docker run -v 进行本地目录挂载

docker run命令首先在指定的镜像上创建一个可写的容器层,然后使用指定的命令启动。(来源 docker.com) 使用参数-v允许你绑定一个本地目录。

-v或--volume允许你挂载本地目录和文件到你的容器。例如,你可以启动一个MySQL数据库并挂载数据目录,将实际数据存储在你挂载的目录中。

# run mysql container in the background $ docker run --name mysql-db -v $(pwd)/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:8.0.28-debian # show content of data directory $ ls -la datadir total 383848 -rw-r----- 1 sebarthel staff 196608 Mar 26 22:47 #ib_16384_0.dblwr -rw-r----- 1 sebarthel staff 8585216 Mar 26 22:47 #ib_16384_1.dblwr drwxr-x--- 12 sebarthel staff 384 Mar 26 22:47 #innodb_temp drwxr-xr-x@ 27 sebarthel staff 864 Mar 26 22:47 . drwxr-xr-x 3 sebarthel staff 96 Mar 26 22:47 .. -rw-r----- 1 sebarthel staff 56 Mar 26 22:47 auto.cnf -rw-r----- 1 sebarthel staff 913 Mar 26 22:47 binlog.000001 (more directories) # stop mysql container docker rm -f mysql-db

绑定目录是一种双向的同步。你在主机上改变的每个文件都会在容器中改变,而容器中改变的每个文件都会在主机上改变。因此,如果你停止和启动数据库,你可以挂载同一个目录,你的配置和存储的数据将是可用的。

这种方法的优点是使用起来很直接,而且容易访问。你应该使用绑定的本地目录来存放你想在主机上改变或观察的文件,如配置文件和日志文件。

如何使用Docker Volumes来保存变化

你可以使用Docker卷,而不是绑定你的本地目录。Docker卷是你的Docker存储目录中的某个地方的一个目录,可以挂载到一个或许多容器上。它们是完全可管理的,不依赖于某些操作系统。

让我们创建一个Docker卷并挂载它来保存MySQL数据:

# create volume docker volume create mysql-data # run mysql container in the background $ docker run --name mysql-db -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest # stop mysql container docker rm -f mysql-db # remove volume docker volume remove mysql-data

在删除Docker卷之前,你可以打开你的Docker GUI,通过点击data标签来检查卷。

docker-ui-volume

你可以看到这些文件,但它们被隔离在一个Docker卷中。建议使用它们来保存那些你不需要从主机系统观察或改变的文件。众所周知,这种方法比本地目录绑定有更好的性能。

总结

当你知道如何持久化你的数据,并且在停止容器时不丢失它们时,Docker容器会变得更加强大。

你通过提供Docker运行-v参数将本地目录和卷绑定到一个容器。你需要给出绝对的本地路径或卷的名称,并将其映射到容器内的目录-v :。

我希望你喜欢这篇文章。

如果你喜欢它,觉得有必要给我鼓掌,或者只是想联系我,在Twitter上关注我。

我在eBay Kleinanzeigen工作。顺便说一下,我们正在招聘!

参考资料 如何在Docker容器内挂载一个目录 使用MySql的Docker镜像 Docker-Compose卷或绑定挂载语法 如何暂停和恢复Docker容器 Docker卷与绑定挂载 Docker文档:卷创建的命令 Docker文档:卷的备份和恢复 Docker容器桌面管理端


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭